package com.woniuxy.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.woniuxy.dto.commonDto.BaseDto;
import com.woniuxy.dto.UserRelatedDto.UserDto;
import com.woniuxy.dto.UserRelatedDto.UserTableDto;
import com.woniuxy.entity.UserTable;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.param.*;
import com.woniuxy.param.UserRelatedParam.SaveUserParam;
import com.woniuxy.param.UserRelatedParam.SaveUserRoleParam;
import com.woniuxy.param.UserRelatedParam.UpdateUserParam;
import com.woniuxy.param.UserRelatedParam.UserPageAndByKeyParam;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zcx,ftl,gr,rhs
 * @since 2021-12-31
 */
public interface UserTableService extends IService<UserTable> {

    UserTableDto findUserById(Integer userId) throws JsonProcessingException;

    BaseDto<UserTableDto> listUsers(UserPageAndByKeyParam upp);

    boolean saveUserRole(SaveUserRoleParam arp);

    UserDto SaveUser(SaveUserParam sup);

    boolean updateUser(UpdateUserParam uup);

    boolean removeUserByIds(List<Integer> ids);

    boolean UpdateMyselfParam(UpdateMyselfParam ump);
}
